package com.green.card.utils;

import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Environment;
import android.support.annotation.DrawableRes;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import cn.sharesdk.onekeyshare.OnekeyShare;

/**
 * Description: ShareSDK 第三方分享库 辅助类
 * Data：2018/12/18 0018-10:20
 * Author: xjlei
 */
public class ShareUtils {

    public static  void showShare(Context context) {
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();

        // title标题，微信、QQ和QQ空间等平台使用
        oks.setTitle("56卡汇");
        // titleUrl QQ和QQ空间跳转链接
        oks.setTitleUrl("http://work.zhuoyian.com/Api/card?packId=1032");
        // text是分享文本，所有平台都需要这个字段
//        oks.setText("我是分享文本");
        oks.setText("56卡汇,快速帮您选择合适的信用卡");
        // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
        oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
        // url在微信、微博，Facebook等平台中使用
//        oks.setUrl("http://sharesdk.cn");
        oks.setUrl("http://work.zhuoyian.com/Api/card?packId=1032");
        // comment是我对这条分享的评论，仅在人人网使用
        oks.setComment("56卡汇,快速帮您选择合适的信用卡");
        // 启动分享GUI
        oks.show(context);
    }

    public static  void showShare(Context context, @DrawableRes int id) {
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        // title标题，微信、QQ和QQ空间等平台使用
        oks.setTitle("56卡汇");
        // titleUrl QQ和QQ空间跳转链接
        oks.setTitleUrl("http://work.zhuoyian.com/Api/card?packId=1032");
        // text是分享文本，所有平台都需要这个字段
//        oks.setText("我是分享文本");
        oks.setText("56卡汇,快速帮您选择合适的信用卡");
        // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
        oks.setImagePath(getDrawablePath(context, id));//确保SDcard下面存在此张图片
        // url在微信、微博，Facebook等平台中使用
//        oks.setUrl("http://sharesdk.cn");
        oks.setUrl("http://work.zhuoyian.com/Api/card?packId=1032");
        // comment是我对这条分享的评论，仅在人人网使用
        oks.setComment("56卡汇,快速帮您选择合适的信用卡");
        // 启动分享GUI
        oks.show(context);
    }

    private static  String getResourcesUri(Context context, @DrawableRes int id) {
        Resources resources = context.getResources();
        String uriPath = ContentResolver.SCHEME_ANDROID_RESOURCE + "://" +
                resources.getResourcePackageName(id) + "/" +
                resources.getResourceTypeName(id) + "/" +
                resources.getResourceEntryName(id);
        return uriPath;
    }

    /**
     * 把工程当中的图片保存到SD卡，
     * @param context
     * @param id
     * @return  返回 图片在SDCard中的路径
     */
    private static String getDrawablePath(Context context, @DrawableRes int id) {
        Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), id);
//        String savePath = context.getExternalFilesDir("").getPath() + "/share_icon.png";   ///storage/emulated/0/Android/data/com.green.card/files/share_icon.png
        String savePath = Environment.getExternalStorageDirectory().getPath() + "/share_icon.png";
//        File fileDir = new File(context.getExternalFilesDir("").getPath());
//        if (!fileDir.exists()) {
//            fileDir.mkdirs() ;
//        }

        File file = new File(savePath) ;
        if (file.isFile() && file.exists()) {
            return file.getPath();
        } else {
            try {
                file.createNewFile() ;
                FileOutputStream fos = new FileOutputStream(file);
                if (null != fos) {
                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
                    fos.flush();
                    fos.close();
                }
                return file.getPath();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return  "" ;
    }
}
